From 6433a5452e9a27451f7a9d709c6484296319ca4b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 8 Apr 2014 20:46:26 +0200 Subject: [PATCH] gesture: Add gtk_gesture_set_state() helper. This function sets the state on all sequences where it actually can, just a helper function to avoid iterating over sequences yourself. --- gtk/gtkgesture.c | 22 ++++++++++++++++++++++ gtk/gtkgesture.h | 7 +++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c index a07ac361ea..49a1de085c 100644 --- a/gtk/gtkgesture.c +++ b/gtk/gtkgesture.c @@ -672,6 +672,28 @@ gtk_gesture_set_sequence_state (GtkGesture *gesture, return TRUE; } +gboolean +gtk_gesture_set_state (GtkGesture *gesture, + GtkEventSequenceState state) +{ + GdkEventSequence *sequence; + gboolean handled = FALSE; + GtkGesturePrivate *priv; + GHashTableIter iter; + + g_return_val_if_fail (GTK_IS_GESTURE (gesture), FALSE); + g_return_val_if_fail (state >= GTK_EVENT_SEQUENCE_NONE && + state <= GTK_EVENT_SEQUENCE_DENIED, FALSE); + + priv = gtk_gesture_get_instance_private (gesture); + g_hash_table_iter_init (&iter, priv->points); + + while (g_hash_table_iter_next (&iter, (gpointer*) &sequence, NULL)) + handled |= gtk_gesture_set_sequence_state (gesture, sequence, state); + + return handled; +} + /** * gtk_gesture_get_sequences: * @gesture: a #GtkGesture diff --git a/gtk/gtkgesture.h b/gtk/gtkgesture.h index 21e70261d9..e5976d1381 100644 --- a/gtk/gtkgesture.h +++ b/gtk/gtkgesture.h @@ -74,10 +74,13 @@ GType gtk_gesture_get_type (void) G_GNUC_CONST; GDK_AVAILABLE_IN_3_14 GdkDevice * gtk_gesture_get_device (GtkGesture *gesture); +GDK_AVAILABLE_IN_3_14 +gboolean gtk_gesture_set_state (GtkGesture *gesture, + GtkEventSequenceState state); GDK_AVAILABLE_IN_3_14 GtkEventSequenceState - gtk_gesture_get_sequence_state (GtkGesture *gesture, - GdkEventSequence *sequence); + gtk_gesture_get_sequence_state (GtkGesture *gesture, + GdkEventSequence *sequence); GDK_AVAILABLE_IN_3_14 gboolean gtk_gesture_set_sequence_state (GtkGesture *gesture, GdkEventSequence *sequence, -- 2.30.2